#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<sys/wait.h>
#include<sys/types.h>

int main()
{
    // int i = 0;
    // for( i = 0; i < argc; i++ )
    // {
    //     printf("argc[%d]->%s\n",i,argv[i]);
    // }

    char* const argv[] = {
        (char*const)"ls",
        (char*const)"-l",
        (char*const)"-a",
        NULL
    };

    printf("我的程序要运行了\n");
    if(fork() == 0)
    {
        printf("我是子进程child，我的进程PID是:%d\n",getpid());
        sleep(1);
        // child
        execv("/usr/bin/ls", argv);
        exit(1);
    }

    waitpid(-1, NULL, 0);
    printf("我的程序运行完毕了\n");

    return 0;
}
